/**
 *
 * @author Pablo Javier Vidal
 */
package agentes09.agentes;


import agentes09.negotiation.behaviours.PruebaProductor;
import agentes09.negotiation.behaviours.NegociacionProductor;
import jade.core.Agent;
import jade.domain.DFService;
import jade.domain.FIPAAgentManagement.DFAgentDescription;
import jade.domain.FIPAAgentManagement.ServiceDescription;
import jade.domain.FIPAException;

/**
 *
 * @author Pablo Javier Vidal
 */
public class AgenteProductor extends AgenteConEstado {

    @Override
    protected void setup() {
        super.setup();
        registrarEnDF();
        addBehaviour(new NegociacionProductor());       
        try{            
            Thread.sleep(20000);
        }catch(InterruptedException ex){
            ex.printStackTrace();
        }
        addBehaviour(new PruebaProductor());
    }

    /**
     * Este metodo registra al agente productor en el DF
     */
    private void registrarEnDF() {
        DFAgentDescription dfd = new DFAgentDescription();
        dfd.setName(getAID());
        ServiceDescription sd = new ServiceDescription();
        sd.setType("productor");
        sd.setName(getLocalName());
        dfd.addServices(sd);
        try {
            DFService.register(this, dfd);
        } catch (FIPAException fe) {
            fe.printStackTrace();
        }
    }

}
